// multer
const multer = require('multer');
const md5 = require('md5');
// 配置路径
const path = require('path') //
const resolve = (dir) => {
    return path.join(__dirname, './', dir)
}

exports.add = (req, res) => {
    // multer的配置对象
    let storage = multer.diskStorage({
        // 存储路径
        destination: function (req, file, cb) {
            // 允许图片上传
            if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png') {
                cb(null, resolve('../public/images'))
            } else {
                // 限制其他文件上传类型
                cb({ error: 'Mime type not supported' })
            }
        },
        //  存储名称
        filename: function (req, file, cb) {
            let fileFormat = (file.originalname).split(".");
            cb(null, md5(+new Date()) + "." + fileFormat[fileFormat.length - 1]);
        },
    });

    const fileName = "file"  // 上传的 fileName 名称
    const updateBaseUrl = "http://localhost:3000" // 上传到服务器地址
    const imgPath = "/images/" // 上传到服务器的虚拟目录
    const aa = multer({ storage }).single(fileName);

    aa(req, res, (err) => {
        if (err instanceof multer.MulterError) {
            reject(err)
        } else if (err) {
            reject(err)
        } else {
            res.send({
                "code": "ok",
                "message": "上传成功",
                'data': {
                    url: updateBaseUrl + imgPath + req.file.filename
                }
            })
            //上传成功后，将图片写在req.body.photo中，继续住下执行
            // resolve(updateBaseUrl + imgPath + req.file.filename)
        }
    })

}
// module.exports = upload;
